package jnpf.model.ragFlow.know;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@Data
public class ParserConfig {
    @ApiModelProperty(value = "自动生成关键词数量")
    private Integer auto_keywords = 0;

    @ApiModelProperty(value = "自动生成问题数量")
    private Integer auto_questions = 0;

    @NotNull(message = "chunk_token_num不能为空")
    @ApiModelProperty(value = "分块token数量", required = true)
    private Integer chunk_token_num = 512;

    @NotBlank(message = "delimiter不能为空")
    @ApiModelProperty(value = "分隔符", required = true)
    private String delimiter = "\\n";

    @NotNull(message = "html4excel不能为空")
    @ApiModelProperty(value = "是否支持Excel HTML", required = true)
    private Boolean html4excel = true;

    @NotBlank(message = "layout_recognize不能为空")
    @ApiModelProperty(value = "布局识别方式", required = true)
    private String layout_recognize = "DeepDOC";

    @ApiModelProperty(value = "标签知识库ID列表")
    private List<String> tag_kb_ids=new ArrayList<>();

    @ApiModelProperty(value = "任务页面大小")
    private Integer task_page_size = 12;

    @ApiModelProperty(value = "RAPTOR配置")
    private RaptorConfig raptor = new RaptorConfig();

    @ApiModelProperty(value = "GRAPHRAG配置")
    private GraphragConfig graphrag = new GraphragConfig();


}
